An Interpreted Language for Distributed Programming 1 Motivation 1.1 Object-based Rpc and Static Compilation
نویسنده
چکیده
The emerging trend in writing distributed applications is to use an object-based RPC system with a statically compiled, object-oriented language. While such a programming environment is adequate for many tasks, object-based RPC systems and statically compiled languages also have certain intrinsic limitations. These limitations become signiicant when writing applications which are both distributed and interactive (e.g. network information browsers, distributed conferencing systems and collaborative work tools). This paper discusses these limitations, and presents the design of Phantom, a new intepreted language for distributed programming. Phantom provides many features found in object-based RPC systems and statically compiled languages, including automatic marshalling, transparent remote procedure call, secure authentication and concurrency support. In addition to these traditional features, Phantom's interpreted nature permits the use of certain programming techniques, such as true object migration, remote evaluation, and dynamic extensibility, which are of increasing importance for distributed programming, but which are not available in statically compiled languages and RPC systems. The integration of these features in a single, coherent programming language makes whole new classes of distributed, interactive applications possible. The current trend in programming distributed systems is to use a statically compiled, object-oriented language (such as C++ Str92]), augmented with an object-based RPC system and associated runtime library (such as CORBA Gro92] or ILU JSS94]). With an object-based RPC system, the programmer speciies the interface to network-accesible objects using an interface deenition language (IDL). A protocol compiler compiles the IDL speciication to generate client and server stub routines which are linked with the pro-grammer's application code. For each remote object which the application has access to, the
منابع مشابه
Modules, Objects and Distributed Programming: Issues in RPC and Remote Object Invocation
Distributed programming can be greatly simplified by language support for distributed communication, such as that provided by remote procedure call (RPC) or remote object invocation. This paper examines design and implementation issues in these systems, and focuses on the influence of the communication system on a distributed program. To make the discussion concrete, we introduce a single appli...
متن کاملSpecializing Object-Oriented RPC for Functionality and Performance
Remote procedure call (RPC) integrates distributed processing with conventional programming languages. However, traditional RPC lacks support for forms of communication such as datagrams, multicast, and streams that fall outside the strict request-response model. Emerging applications such as Distributed Interactive Simulation (DIS) and Internet video require scalable, reliable, and efficient c...
متن کاملRethinking the Java SOAP stack
This paper examines the current SOAP APIs in Java, and in particular the Java API for XML-based RPC, commonly known as JAX-RPC, which is effectively the standard API for SOAP on the Java platform. We claim that JAXRPC, and indeed any SOAP API that relies upon a perfect two-way mapping between XML data and native language objects is fundamentally flawed. Furthermore, we claim that the attempt JA...
متن کاملSemantics for Parameter Passing in a Type-complete Persistent RPS
An orthogonally persistent programming language is a type-safe programming language that seamlessly includes a database for long-term object storage. A remote procedure call (RPC) mechanism permits calls of a procedure in another address space, and has proved to be a useful tool for building distributed systems. Taken together, an RPC mechanism and a persistent system are potentially suitable f...
متن کاملDC++: distributed object-oriented system support on top of OSF DCE
The OSF Distributed Computing Environment (DCE) is becoming an industry standard for open distributed computing. However, DCE only supports client/server-style applications based on the remote procedure call (RPC) communication model. This paper describes the design and implementation of an extended distributed object-oriented environment, DC++, on top of DCE. As opposed to RPC, it supports a u...
متن کامل